$(function () {
    // 1. 首页数据渲染
    var currentPage = 1; //当前页
    var pageSize = 5; //当前条数
    function render() {
        $.ajax({
            type: 'get',
            url: '/category/querySecondCategoryPaging',
            data: {
                page: currentPage,
                pageSize: pageSize,
            },
            dataType: 'json',
            success: function (res) {
                // console.log(res);
                $('tbody').html(template('tmp', res))
                setPage(res.total);
            }
        })

    }
    render();


    //2.分页
    function setPage(total) {
        $("#paginator").bootstrapPaginator({
            bootstrapMajorVersion: 3,//默认是2，如果是bootstrap3版本，这个参数必填
            currentPage: currentPage,//当前页
            totalPages: Math.ceil(total / pageSize),//总页数
            onPageClicked: function (event, originalEvent, type, page) {
                //为按钮绑定点击事件 page:当前点击的按钮值
                //1.改变当前页的取值;
                currentPage = page;
                //2. 页面重新渲染
                render();
                // console.log(page);
            }
        });
    }



    // 下拉列表填充 
    // 1- 获取一级分类的数据
    // 2- 配合模板引擎进行渲染
    $.ajax({
        type: 'get',
        url: '/category/queryTopCategoryPaging',
        data: {
            page: 1,
            pageSize: 100
        },
        dataType: 'json',
        success: function (res) {
            console.log(res);
            // 配合模板引擎进行渲染
            $('.cate-one-list').html(template('tmp-one-list', res));
        },
    })

    // 下拉列表选中效果 
    // 1- 点击a标签， 获取a标签的文本，赋值给按钮的文本 
    // 2- 获取a标签的data-id属性， 赋值给隐藏域 
    $('.cate-one-list').on('click', 'a', function () {
        $('.cate-span').text($(this).text());
        $('#categoryId').val($(this).data('id'));

        // 在下拉列表选中后, 恢复下拉列表状态
        $('.add-form').data('bootstrapValidator').updateStatus('categoryId', 'VALID')
    });

    // 图片上传功能
    $("#file").fileupload({
        dataType: "json",
        //e：事件对象
        //data：图片上传后的对象，通过data.result.picAddr可以获取上传后的图片地址
        done: function (e, data) {  //图片上传完成, 服务器返回图片地址时执行
            console.log(data.result);
            var url = data.result.picAddr;

            // 在图片上传完成后,进行图片的预览
            $('#img').attr('src', url);

            // 保存图片的地址到隐藏域
            $('#brandLogo').val(url);

            //图片预览完成后, 恢复图片的状态
            $('.add-form').data('bootstrapValidator').updateStatus('brandLogo', 'VALID')
        }
    });

    // 表单校验
    //使用表单校验插件
    $('.add-form').bootstrapValidator({
        //1. 指定不校验的类型，默认为[':disabled', ':hidden', ':not(:visible)'],可以不设置
        excluded: [':disabled'],

        //2. 指定校验时的图标显示，默认是bootstrap风格
        feedbackIcons: {
            valid: 'glyphicon glyphicon-ok',
            invalid: 'glyphicon glyphicon-remove',
            validating: 'glyphicon glyphicon-refresh'
        },

        //3. 指定校验字段
        fields: {
            //一级分类的id
            categoryId: {
                validators: {
                    //不能为空
                    notEmpty: {
                        message: '请选择一级分类'
                    },
                }
            },

            // 二级分类的logo
            brandName: {
                validators: {
                    //不能为空
                    notEmpty: {
                        message: '请输入二级分类'
                    },
                }
            },

            // 图片地址
            brandLogo: {
                validators: {
                    //不能为空
                    notEmpty: {
                        message: '请选择图片'
                    },
                }
            },
        }
    });

    // 添加二级分类数据
    // 1 - 点击添加按钮，在表单数据合理的情况下，发送请求给后台，进行添加
    // 2 - 添加完成后，页面重新渲染，隐藏模态框， 表单重置,
    // 3 - 手动恢复图片和按钮样式
    $('.add-form').on('success.form.bv', function (e) {
        e.preventDefault();
        $.ajax({
            type: 'post',
            url: '/category/addSecondCategory',
            data: $('.add-form').serialize(),
            dataType: 'json',
            success: function (res) {
                console.log(res);

                // 页面重新渲染
                render();

                // 隐藏模态框
                $('.modal-add').modal('hide');

                // 表单重置
                $('.add-form').data('bootstrapValidator').resetForm(true);

                // 手动重置图片和btn按钮
                $('.cate-span').text('请选择一级分类');
                $('#img').attr('src', './image/none.png');
            },
        })
    })


})